#!/bin/bash

# NetSphere 部署脚本

set -e

echo "🚀 开始部署 NetSphere..."

# 检查Python版本
python_version=$(python3 --version 2>&1 | awk '{print $2}' | cut -d. -f1,2)
if [[ "$python_version" < "3.12" ]]; then
    echo "❌ 需要 Python 3.12 或更高版本"
    exit 1
fi

# 安装uv（如果未安装）
if ! command -v uv &> /dev/null; then
    echo "📦 安装 uv..."
    curl -LsSf https://astral.sh/uv/install.sh | sh
    export PATH="$HOME/.local/bin:$PATH"
fi

# 安装依赖
echo "📦 安装项目依赖..."
uv pip install -e .

# 创建环境文件（如果不存在）
if [ ! -f .env ]; then
    echo "⚙️  创建环境配置文件..."
    cp .env.example .env
    echo "✅ 请编辑 .env 文件配置数据库和其他设置"
fi

# 创建必要的目录
mkdir -p logs static

# 运行测试
echo "🧪 运行单元测试..."
pytest tests/ -v

echo "✅ 部署完成！"
echo ""
echo "🎯 使用方式："
echo "  1. 编辑 .env 文件配置数据库连接"
echo "  2. 启动 PostgreSQL 和 Redis"
echo "  3. 运行: python main.py"
echo "  4. 访问: http://localhost:8000/docs"
echo ""
echo "🐳 或使用 Docker："
echo "  docker-compose up -d"